﻿namespace NTaskingInternals
{

    class Todo
    {

        // TODO : Add automatic code generation for tests, to test the limits of the library

        // Implement Ada 9x exception handlers within accept body
        
        // TODO : Remove the global thread state??

        // TODO : Implement packages in Annexes

        // TODO : Ajouter un TU pour tester un requeue sur une tache not Callable

        // TODO : Faire des snipets pour Entry, Procedure, Function

        // TODO : Protected Priority: check D.3 13.1/2

        // TODO : Add unit test for select/accept in declarative part of a task
                
        // TODO : reste a commenter Errors.cs et Tracer.cs
        
        // DOC : Mettre un commentaire dans task et protected pour expliquer que les Accept et autres ne sont pas
        //       des extensions pour pouvoir etre protected

        // DOC : AARM 9.2 4/2 - how to trigger activation of tasks created as part of an object constructor?
        //        Probablement Not-Supported
        //        Also implication of 9.2 5.a

        // DOC : AARM 9.3 5 A task is completed when it reaches the end of Body, it is terminated when it has
        //        finished waiting on all its dependent tasks. Task becomes non-callable when it is completed

        // DOC : AARM 9.3 20 indiquer dans la doc que l'attente de la task G est faite au niveau le plus interne,
        //        pas au niveau de la visibilité

        // DOC : Dans la doc indiquer qu'on ne peut pas faire des Accept(Xxx).Do donc aussi supprimé de Select.Accept(xxx).Do

        // DOC : Add Comments to Task to indicate for each method if it is run in the caller or acceptor scope

        // DOC : Document the fact that interrupt is not supported (9.1 12.a/1)

        // DOC : Unsupported
        // - 9.1 21/2 A task type is a limited type

        // Mettre un warning dans la doc sur l'utilisation de taches/protected static
        // dans les tests unitaires car les constructeurs statiques dans lequels ils sont
        // initialises ne seront pas rappelés au debut de chaque test (cas de C954A01,
        // C954A02, C954A03 qui utilisent des ProtectedTypes statiques dans F950A00 - il
        // a fallu rajouter un Printer.Initialize() appelé dans chaqun des tests pour recréer
        // ces objets statiques)
        // Indiquer que les static tasks sont activées automatiquement (ou faire en sorte que
        // toute tache ajoutée à un scope est activée si le scope est déja activé - dans ce cas,
        // supprimer le start)
    }

}
